package spring.AOP;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * <p>类描述：。</p>
 *
 * @author 贾亮
 * @version v1.0.0.1。
 * @since JDK1.8。
 * <p>创建日期：2018/3/8 9:24。</p>
 */
public class Main {
    public static void main(String[] args) {
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring/AOP.xml");
//        配置中proxy-target-class为true，那么基于类的代理将起作用，以下方法起作用，借口代理同样起作用
        SumImpl sumImpl = (SumImpl) applicationContext.getBean("sumImpl");
        int result = sumImpl.div(1, 1);
//        配置中proxy-target-class为false或没有该配置，则基于接口的代理将起作用，以上代码就会报转换异常错误，可以如下写
//        Sum sum = (Sum) applicationContext.getBean("sumImpl");
        Sum sum = applicationContext.getBean(Sum.class);
        result = sum.div(1, 1);
    }
}
